home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / oolregex / ctrlext.cpp < prev    next >
C/C++ Source or Header  |  1995-12-07  |  3KB  |  107 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1995 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. #include "stdafx.h"
  12. #include "ctrlext.h"
  13.  
  14. #ifdef _DEBUG
  15. #undef THIS_FILE
  16. static char THIS_FILE[] = __FILE__;
  17. #endif
  18.  
  19. #define new DEBUG_NEW
  20.  
  21. /////////////////////////////////////////////////////////////////////////////
  22. // Inline function declarations
  23.  
  24. #define _AFXCTL_INLINE inline
  25.  
  26.  
  27. /////////////////////////////////////////////////////////////////////////////
  28. // CTreeCtrlNode
  29.  
  30.  
  31. const CTreeCursor& CTreeCursor::operator =(const CTreeCursor& posSrc)
  32. {
  33.     if(&posSrc != this){
  34.         m_hTreeItem = posSrc.m_hTreeItem;
  35.         m_pTree = posSrc.m_pTree;
  36.     }
  37.     return *this;
  38. }
  39.  
  40.  
  41. CTreeCursor CTreeCursor::_Insert(LPCTSTR strItem,int nImageIndex,HTREEITEM hAfter)
  42. {
  43.     TV_INSERTSTRUCT ins;
  44.     ins.hParent = m_hTreeItem;
  45.     ins.hInsertAfter = hAfter;
  46.     ins.item.mask = TVIF_TEXT;
  47.     ins.item.pszText = (LPTSTR) strItem;
  48.     if(nImageIndex != -1){
  49.         ins.item.mask |= TVIF_IMAGE | TVIF_SELECTEDIMAGE;
  50.         ins.item.iImage = nImageIndex;
  51.         ins.item.iSelectedImage = nImageIndex;
  52.     }
  53.     return CTreeCursor(m_pTree->InsertItem(&ins), m_pTree);
  54. }
  55.  
  56. int CTreeCursor::GetImageID()
  57. {
  58.     TV_ITEM item;
  59.     item.mask = TVIF_HANDLE | TVIF_IMAGE;
  60.     item.hItem = m_hTreeItem;
  61.     m_pTree->GetItem(&item);
  62.     return item.iImage;
  63. }
  64.  
  65. /////////////////////////////////////////////////////////////////////////////
  66. // CTreeCtrlEx
  67.  
  68. // All handled by inlines
  69.  
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CListCtrlEx
  72.  
  73. BOOL CListCtrlEx::AddColumn(LPCTSTR strItem,int nItem,int nSubItem,int nMask,int nFmt)
  74. {
  75.     LV_COLUMN lvc;
  76.     lvc.mask = nMask;
  77.     lvc.fmt = nFmt;
  78.     lvc.pszText = (LPTSTR) strItem;
  79.     lvc.cx = GetStringWidth(lvc.pszText) + 15;
  80.     if(nMask & LVCF_SUBITEM){
  81.         if(nSubItem != -1)
  82.             lvc.iSubItem = nSubItem;
  83.         else
  84.             lvc.iSubItem = nItem;
  85.     }
  86.     return InsertColumn(nItem,&lvc);
  87. }
  88.  
  89. BOOL CListCtrlEx::AddItem(int nItem,int nSubItem,LPCTSTR strItem,int nImageIndex)
  90. {
  91.     LV_ITEM lvItem;
  92.     lvItem.mask = LVIF_TEXT;
  93.     lvItem.iItem = nItem;
  94.     lvItem.iSubItem = nSubItem;
  95.     lvItem.pszText = (LPTSTR) strItem;
  96.     if(nImageIndex != -1){
  97.         lvItem.mask |= LVIF_IMAGE;
  98.         lvItem.iImage |= LVIF_IMAGE;
  99.     }
  100.     if(nSubItem == 0)
  101.         return InsertItem(&lvItem);
  102.     return SetItem(&lvItem);
  103. }
  104.  
  105. /////////////////////////////////////////////////////////////////////////////
  106.  
  107.